package com.dataseek.iot.mysql.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author cc
 * @since 2021-09-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "产品报警")
public class ProductEvent implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "product_alarm_inner_id", type = IdType.AUTO)
    private Long productAlarmInnerId;

    /**
     * 报警编码
     */
    @ApiModelProperty(value = "报警编码", required = true)
    private String alarmCode;

    /**
     * 报警名称
     */
    @ApiModelProperty(value = "报警名称", required = true)
    private String alarmName;

    /**
     * 关联的产品字典ID
     */
    @ApiModelProperty(value = "关联字典ID", required = true)
    private String dictProductId;

    /**
     * 报警类型
     */
    @ApiModelProperty(value = "报警类型,两大类：1.越限报警分为highAlarm(高限报警),lowAlarm(低限报警),noAlarm(报警取消) 三类;" +
            "2.变位报警为posAlarm",required = true)
    private String alarmType;

    /**
     * 报警阈值
     */
    @ApiModelProperty(value = "报警值",required = true)
    private String alarmValue;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private String createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private String updateTime;

    /**
     * 产品ID
     */
    @ApiModelProperty(value = "关联的产品ID",required = true)
    private String productId;


}
